<?php

namespace app\controller;

use app\AuthController;
use think\facade\Db;      //使用Db数据库对象时需要引入的方法
use think\facade\View;
use think\facade\Session;
use think\facade\Cookie;
use Hashids\Hashids;

use app\model\{
  Article as ArticleModel,
  FriendShip as FriendShipModel,
  User as UserModel,
  PortalCategory as PortalCategoryModel,
  LinkSpace as LinkSpaceModel,
  CommentBoard as CommentBoardModel,
  ContentArticle as ContentArticleModel,
};
use app\BaseInfoController as BaseInfo;

class Index extends AuthController
{

  ######################################################## 【博客站首页和主页】 ###################################################################################

  # 网站首页
  public function index()
  {
    $where = $this->request->only([
      'page' => 1,
      'limit' => 10
    ], 'get');

    $articleList = ContentArticleModel::getMainList($where, $this->request->select); // 最新文章列表

    return View::fetch('mz_blog/index', [
      'user' => $this->request->adminInfo,  // 登录用户信息

      'articleList' => $articleList, // 最新文章列表
      'page' => count($articleList['list']) == 0 ? null : ++$where['page'], // 文章分页
      'recacl' => ContentArticleModel::getRecommendList(), // 今日推荐
      'hotacl' => ContentArticleModel::getHotList(), // 热门文章

      'erysts'          => BaseInfo::everydayPhrases(), // 每日一句
      'friendship'      => BaseInfo::friendlyLink(),    // 友情链接
      'site_info'       => BaseInfo::siteInfo(),        // 网站信息
      'main_nav_menu'   => BaseInfo::mainNavMenu(),     // 主导航
      'vice_nav_menu'   => BaseInfo::viceNavMenu(),     // 副导航
      'websiteCategory' => BaseInfo::websiteCategory(), // 网站专栏
      'menu' => 1, // 首页导航ID
    ]);
  }

  # 博客主页
  // public function blog()
  // {
  //   return View::fetch('index', [
  //     'user' => $this->request->adminInfo, // 登录用户信息
  //     'site_info' => BaseInfo::siteInfo(), // 网站信息
  //     'main_nav_menu' => BaseInfo::mainNavMenu(), // 主导航
  //     'vice_nav_menu' => BaseInfo::viceNavMenu(), // 副导航
  //     'menu' => 0, // 导航ID
  //   ]);
  // }
  #############################################################################################################################################################

  #############################################################################################################################################################




















  ######################################################## 【副导航相关】 链接空间、留言面板、文章标签、友情链接 ######################################################
  # 链接空间
  // public function link()
  // {
  //   return View::fetch('home_template/mz_link', [
  //     'linkspace' => LinkSpaceModel::getLinkSpace(), // 链接空间
  //     'user' => null, // 网站信息
  //     'site_info'  => BaseInfo::siteInfo(), // 网站信息
  //     'main_nav_menu' => BaseInfo::mainNavMenu(), // 主导航
  //     'vice_nav_menu' => BaseInfo::viceNavMenu(), // 副导航
  //     'menu' => null, // 首页导航ID
  //   ]);
  // }

  # 留言面板
  public function comment()
  {
    return View::fetch('home_template/mz_comment', [
      'cmtboard' => CommentBoardModel::select()->toArray(), // 留言面板
      'user' => null,  // 网站信息
      'site_info' => BaseInfo::siteInfo(),  // 网站信息
      'main_nav_menu' => BaseInfo::mainNavMenu(), // 主导航
      'vice_nav_menu' => BaseInfo::viceNavMenu(), // 副导航
      'menu' => null, // 首页导航ID
    ]);
  }

  # 文章标签
  // public function tag()
  // {
  //   return View::fetch('home_template/mz_tag', [
  //     'user' => null,  // 网站信息
  //     'site_info' => BaseInfo::siteInfo(),  // 网站信息
  //     'main_nav_menu' => BaseInfo::mainNavMenu(), // 主导航
  //     'vice_nav_menu' => BaseInfo::viceNavMenu(), // 副导航
  //     'menu' => null, // 首页导航ID
  //   ]);
  // }

  # 友情链接
  public function friendship()
  {
    return View::fetch('home_template/mz_friendship', [
      'friendship' => BaseInfo::friendlyLink(), // 友情链接
      'user' => null, // 网站信息
      'site_info' => BaseInfo::siteInfo(), // 网站信息
      'main_nav_menu' => BaseInfo::mainNavMenu(), // 主导航
      'vice_nav_menu' => BaseInfo::viceNavMenu(), // 副导航
      'menu' => null, // 首页导航ID
    ]);
  }
  #############################################################################################################################################################


  # 留言面板
  public function comments()
  {
    $user = $this->request->adminInfo;
    $cid  = $this->request->param('commentId/s');
    # 查找留言面板
    $cms = Db::table('pub_comment_board')->where('cid', $cid)->findOrEmpty();
    if (empty($cms)) return '<h2>为什么木找到此留言面板呢？</h2>';

    # 统计查看留言人数
    // if(!empty($cms)){
    //     $brow = Db::table('pub_comment_board')->where('cid',$cid)->inc('browse')->update();
    //     if(!$brow)
    //         Db::table('pub_comment_board')->where('cid',$cid)->update(['browse'=>1]);
    //     $cms['browse']++;
    // }

    #获取此文章的留言信息
    $comment = Db::table('pub_comment')->where('far_id', $cid)->where('prev', '0')->order('time desc')->select()->toArray();
    $coreply = Db::table('pub_comment')->where('far_id', $cid)->where('prev', '<>', '0')->order('time desc')->select()->toArray();
    foreach ($comment as $key => $value) {
      // $comment[$key]['essay'] = comment_replace($value['essay']); // 替换评论表情
      foreach ($coreply as $k => $vol) {
        if ($vol['prev'] == $value['id']) {
          // $vol['essay'] = comment_replace($vol['essay']); // 替换评论表情
          $comment[$key]['zclass'][] = $vol;
          unset($coreply[$k]);
        }
      }
    }

    $touristInfo = Cookie::get('tourist-info');

    return View::fetch('home_template/mz_comments', [
      'cms' => $cms,  // 留言面板
      'unick' => UserModel::getUserNickKey(), // 会员昵称UID索引
      'uport' => UserModel::getUserHportKey(), // 会员头像UID索引
      'comment' => $comment, //此文章评论
      'touristInfo' => $touristInfo ? unserialize($touristInfo) : null,
      'erysts' => BaseInfo::everydayPhrases(), // 每日一句
      'user' => $user, // 网站信息
      'site_info' => BaseInfo::siteInfo(), // 网站信息
      'main_nav_menu' => BaseInfo::mainNavMenu(), // 主导航
      'vice_nav_menu' => BaseInfo::viceNavMenu(), // 副导航
      'menu' => null, // 首页导航ID
      'hotacl' => ArticleModel::getHot(), // 热门文章
      'article' => null,
    ]);
  }














  #############################################################################################################################################################





















  ############################################################# 【其他】 ########################################################################################
  public function mz_upgrade_browser()
  {
    return View::fetch('home_template/mz_upgrade_browser');
  }

  # 公共页展示链接集合
  // public function hyperlink()
  // {
  //   # 获取用户登录信息和文章UID
  //   $user = Session::get('user');
  //   $aid  = $this->request->param('aid/s'); //获取传入的文章aid，其实不用转换，能进来的就一定是五位随机数ID了

  //   # 根据文章UID找到文章 公开 / 发布
  //   $article = Db::name('article')->where('aid', $aid)->where([['state', '>=', 2], ['state', '<=', 3]])->findOrEmpty();

  //   # 根据文章UID和登录用户找到用户自己的文章 回收 / 私密 / 退回
  //   if (empty($article) && !is_null($user)) {
  //     $article = Db::name('article')->where('aid', $aid)->where('uid', $user['uid'])->where('delete_time', null)->findOrEmpty();
  //   }

  //   # 传入公共变量
  //   $site_info = BaseInfo::siteInfo();
  //   View::assign([
  //     'user' => $user,
  //     'site_info'     => $site_info,  // 网站信息
  //     'main_nav_menu' => BaseInfo::mainNavMenu(), // 主导航
  //     'vice_nav_menu' => BaseInfo::viceNavMenu(), // 副导航
  //     'menu' => null, // 首页导航ID
  //   ]);
  // }
  #############################################################################################################################################################
}
